home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / Developer Kits / BBEdit Extension Dev. Kit / Interfaces / ExternalInterface.h < prev   
Encoding:
C/C++ Source or Header  |  1994-07-09  |  20.9 KB  |  122 lines  |  [TEXT/R*ch]

  1. #pragma once
  2.  
  3. #include <MixedMode.h>
  4. #include <Dialogs.h>
  5.  
  6. #if defined(powerc) || defined (__powerc)
  7. #pragma options align=mac68k
  8. #endif
  9.  
  10. typedef struct
  11. {
  12.     FSSpec    spec;    //    designates file on disk
  13.     long    key;    //    reserved for future expansion
  14.  
  15.     char    tree;    //    0 for absolute, 1 for project, 2 for system
  16.     Boolean    found;    //    FALSE if file couldn't be located; if so, all other info is moot
  17.  
  18.     OSType    type;    //    file type of found file
  19.     OSType    crtr;    //    signature of found file's creator
  20.     
  21.     short    spare0;    //    reserved for future expansion
  22.     long    spare1;
  23. } ProjectEntry;
  24.  
  25. enum
  26. {
  27.     kNeitherTree,
  28.     kProjectTree,
  29.     kSystemTree
  30. };
  31.  
  32. #define kCurrentExternalVersion        4    //    current version of callbacks
  33.  
  34. //    Universal callback interfaces
  35.  
  36. #if USESROUTINEDESCRIPTORS
  37.  
  38. #define ExtensionUPPInfo (kPascalStackBased \
  39.                             | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(ExternalCallbackBlock *))) \
  40.                             | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(WindowPtr))))
  41.  
  42. #define GetWindowContentsUPPInfo (kPascalStackBased \
  43.                             | RESULT_SIZE(SIZE_CODE(sizeof(Handle))) \
  44.                             | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(WindowPtr))))
  45.                             
  46. #define GetSelectionUPPInfo (kPascalStackBased \
  47.                             | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(long *))) \
  48.                             | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long *))) \
  49.                             | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long *))))
  50.                             
  51. #define SetSelectionUPPInfo (kPascalStackBased \
  52.                             | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(long))) \
  53.                             | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long))) \
  54.                             | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long))))
  55.  
  56. #define GetDocInfoUPPInfo (kPascalStackBased \
  57.                             | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(WindowPtr))) \
  58.                             | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(unsigned char *))) \
  59.                             | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(short *))) \
  60.                             | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(long *))))
  61.  
  62. #define GetModDateUPPInfo (kPascalStackBased \
  63.                             | RESULT_SIZE(SIZE_CODE(sizeof(long))) \
  64.                             | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(WindowPtr))))
  65.                             
  66. #define CopyUPPInfo (kPascalStackBased \
  67.                             | RESULT_SIZE(SIZE_CODE(sizeof(Handle))))
  68.                             
  69. #define PasteUPPInfo (kPascalStackBased \
  70.                             | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle))))
  71.                             
  72. #define GetLastLineUPPInfo (kPascalStackBased | RESULT_SIZE(SIZE_CODE(sizeof(long))))
  73.  
  74. #define GetLineNumberUPPInfo (kPascalStackBased \
  75.                             | RESULT_SIZE(SIZE_CODE(sizeof(long))) \
  76.                             | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(long))))
  77.                             
  78. #define GetLineStartUPPInfo (kPascalStackBased \
  79.                             | RESULT_SIZE(SIZE_CODE(sizeof(long))) \
  80.                             | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(long))))
  81.                             
  82. #define GetLineEndUPPInfo (kPascalStackBased \
  83.                             | RESULT_SIZE(SIZE_CODE(sizeof(long))) \
  84.                             | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(long))))
  85.  
  86. #define GetLinePosUPPInfo (kPascalStackBased \
  87.                             | RESULT_SIZE(SIZE_CODE(sizeof(long))) \
  88.                             | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(long))))
  89.  
  90. #define InsertUPPInfo (kPascalStackBased \
  91.                             | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(char *))) \
  92.                             | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long))))
  93.                             
  94. #define DeleteUPPInfo (kPascalStackBased)
  95.  
  96. #define SetWindowContentsUPPInfo (kPascalStackBased \
  97.                             | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(WindowPtr))) \
  98.                             | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Handle))))
  99.                             
  100. #define ContentsChangedUPPInfo (kPascalStackBased \
  101.                             | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(WindowPtr))))
  102.                             
  103. #define GetFileTextUPPInfo (kPascalStackBased \
  104.                             | RESULT_SIZE(SIZE_CODE(sizeof(Handle))) \
  105.                             | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(short))) \
  106.                             | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long))) \
  107.                             | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(unsigned char *))) \
  108.                             | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(Boolean *))))
  109.                             
  110. #define GetFolderUPPInfo (kPascalStackBased \
  111.                             | RESULT_SIZE(SIZE_CODE(sizeof(Boolean))) \
  112.                             | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(unsigned char *))) \
  113.                             | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short *))) \
  114.                             | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long *))))
  115.                             
  116. #define OpenSeveralUPPInfo (kPascalStackBased \
  117.                             | RESULT_SIZE(SIZE_CODE(sizeof(Boolean))) \
  118.                             | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Boolean))) \
  119.                             | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short *))) \
  120.                             | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(StandardFileReply ***))))
  121.                             
  122. #define CenterDialo